#ifndef EXTEND_MODULE_H
#define EXTEND_MODULE_H

#include "AllocObject.h"
#include "HashTable.h"


class CExtendModule : public AllocObject
{
public:
	CExtendModule();
	~CExtendModule();

private:
	void *m_moduleHashTable;

public:
	int RegisterModule(char *path, char *moduleName, char **apilist, int apinum);
	int ReleaseModule(char *moduleName);

	/* Must call free to free the return string */
	void *CallAPI(char *module, char *api, char *params);

	void WndProc(unsigned int message, unsigned long wParam, unsigned long lParam);
};


#endif // EXTEND_MODULE_H
